#pragma once

namespace anbl
{
    // template<class T>
    // class stack
    // {
    
    // private:
    //     T* _a;
    //     int _top;
    //     int _capacity;
    // };

//适配器
template<class T,class Container>
class stack
{
public:
    void push(T& x)
    {
        _con.push_back(x);
    }
    void pop()
    {
        _con.pop_back();
    }
    const T& top()
    {
        return _con.back();
    }
    bool empty()
    {
        return _con.empty();
    }
    size_t size()
    {
        return _con.size();
    }


private:
    Container  _con;  //stack既可以用vector也可以用list实现，所以写成模板类型

};



}